<?php
namespace Admin\Controller;
use Think\Controller;

class LoginController extends Controller {

    //登录跳转
    public function index(){
        echo '<script> location.href = "'.U('Login/login').'" </script>';
    }


    //管理员登录页面
    public function login() {
        // var_dump($_SESSION);
        //管理员的登录检测
        $id = $_SESSION['admin']['uid'];
        //判断
        if (!empty($id)) {
            $this->error('您已经登录了呢!', U('Index/index'));
            die;
        }

        $this->assign('test', '管理员登录页面');
        $this->assign('ajaxurl', U('Login/logindo'));
        $this->assign('yesstr', '登录成功!');
        $this->assign('nostr', '登录失败!');
        // $this->assign('lesstr', '请确保帐号为锁定且已验证邮箱!!');
        $this->display();
    }

    //用户登录处理页面
    public function logindo() {
        // var_dump($_POST);die();
        //这里请使用ajax访问
        if (IS_AJAX) {
            //实例化数据表对象
            $admin = M('admin');
            // var_dump($_POST);die;
            //核实用户信息
            //处理得到的用户账号密码
            session_start();
            $test                     = I('post.pd');
            $data['zz_admin.username'] = htmlspecialchars($test[0]);
            $data['zz_admin.password'] = md5($test[1]);
            // $datapd = !empty($test[2]) ? true : false;
            //查询结果
            $res = $admin
                ->where($data)
                ->select();
            $res = $res[0];
            // echo $user -> _sql();
            // var_dump($res);die;
            if ($_SESSION['gtserver'] == 1) {
                if ($res) {
                    //判断帐号未被锁定 并且 邮箱以验证

                        //在SESSION中记录用户的信息
                        $_SESSION['admin']['uid']      = $res['admin_id'];
                        $_SESSION['admin']['uname']    = $res['username'];
                        //修改最后登录的时间和登录的IP
                        $arr = array(
                            'admin_id'  => $_SESSION['admin']['uid'],
                            'login_time' => $_SERVER['REQUEST_TIME'],
                            'login_ip'   => $_SERVER['REMOTE_ADDR'],
                        );
                        $admin->save($arr);
                        //当登录成功的时候
                        echo 'yes';
                        die;
                    } else {
                        //当帐号密码不正确时
                        echo 'no';
                    }
                }
            // }
        } else {
            //当用户使用非ajax方式访问时
            $this->error('非法操作');
        }
    }

    //极验验证
    public function jyan() {
        require_once '/Public/Jyan/lib/class.geetestlib.php';
        require_once '/Public/Jyan/config/config.php';
        $GtSdk = Jy(CAPTCHA_ID, PRIVATE_KEY);
        session_start();
        // $user_id             = mt_rand();
        $status               = $GtSdk->pre_process($user_id);
        $_SESSION['gtserver'] = $status;
        // $_SESSION['user_id'] = $user_id;
        echo $GtSdk->get_response_str();
    }

    //管理员登出处理页面
    public function signout() {
        //得到当前的用户ID
        $id = $_SESSION['home']['uid'];
        //修改用户的登录状态
        $user_info = M('user');
        $data['online'] = '0';
        $user_info -> where('user_id='.$id) -> save($data);
        //清空SESSION内容
        // session_unset();
        // session_destroy();
        unset($_SESSION['admin']);
        //跳转到登录页面
        $this->success('登出成功! 正在跳转到登录页面~', U('Login/login'), 2);
    }

}
